package com.ltkj.coupon.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ltkj.common.core.annotation.Excel;
import com.ltkj.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户优惠券对象 t_coupon_user
 * 
 * @author ruoyi
 * @date 2023-09-21
 */

@ApiModel(value = "用户优惠券")
@Data
public class TCouponUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("ID")
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    @ApiModelProperty("用户id")
    private Long userId;

    /** 优惠券模板表id */
    @Excel(name = "优惠券模板表id")
    @ApiModelProperty("优惠券模板表id")
    private Long couponTempId;

    /** 优惠类型(1直减现金券) */
    @Excel(name = "优惠类型(1直减现金券)")
    @ApiModelProperty("优惠类型(1直减现金券)")
    private String couponType;

    /** 数据状态 */
    @Excel(name = "数据状态")
    @ApiModelProperty("数据状态")
    private String isDel;

    /** 优惠券编码 */
    @Excel(name = "优惠券编码")
    @ApiModelProperty("优惠券编码")
    private String codeNo;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    @ApiModelProperty("优惠金额")
    private BigDecimal couponAmount;

    /** 满减金额 */
    @Excel(name = "满减金额")
    @ApiModelProperty("满减金额")
    private BigDecimal fullAmount;

    /** 生效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("生效时间")
    private Date effectiveStartTime;

    /** 失效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "失效时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("失效时间")
    private Date effectiveEndTime;

    /** 状态：-1已作废 0待使用 1已使用 2已过期 */
    @Excel(name = "状态：-1已作废 0待使用 1已使用 2已过期")
    @ApiModelProperty("状态：-1已作废 0待使用 1已使用 2已过期")
    private String status;

    /** 使用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("使用时间")
    private Date useTime;

    /** 订单id */
    @Excel(name = "订单id")
    @ApiModelProperty("订单id")
    private Long orderId;

}
